We present the λ-calculus with resources λr,
and two variants of it: a deterministic restriction λm and an
extension λcr with a convergence testing
operator. These calculi provide
a control on the substitution process – deadlocks may arise if not enough resources are
available to carry out all the substitutions needed to pursue a computation. The design of
these calculi was motivated by Milner's encoding of the λ-calculus in the π-calculus. As
Boudol and Laneve have shown elsewhere, the discriminating power of λm (given by the
contextual observational equivalence) over λ-terms coincides with that induced by Milner's
π-encoding, and coincides also with that provided by the lazy algebraic semantics
(Lévy–Longo trees). The main contribution of this paper is model-theoretic. We define and
solve an appropriate domain equation, and show that the model thus obtained is fully
abstract with respect to λcr. The techniques used are in the line of those used by Abramsky
for the lazy λ-calculus, the main departure being that the resource-consciousness of our
calculi leads us to introduce a non-idempotent form of intersection types.